5 - Rechnerarchitektur [ID:10859]
50 von 1004 angezeigt

Gut, ja, dann können wir starten. Schönen guten Tag zur Vorlesung Rechnerkur die Woche.

Was haben wir also letzte Woche geschafft? Letzte Woche haben wir uns also nochmal intensiv

auseinandergesetzt mit den Eigenschaften Superskalator Architektur. Insbesondere,

wie können wir das Problem in den Griff bekommen von Write-after-read und Write-after-write hazards.

Und wir haben gesehen, es gibt also da zwei Ansätze, das war letzte Woche noch.

Das ist nochmal mit der Discordboard Architektur, das haben wir vorletzte Woche gemacht. Dann haben

wir nochmal diese Thomas-Solo Architektur behandelt. Thomas-Solo war die besondere

Eigenschaft, dass es diese Reservierungsstation gibt und dort die Technik des Register-Umbinens

angewandt wird. Also das heißt, von allen Daten, die benötigt werden bzw. die eine Quelle für einen

späteren Write-after-read-Hazard werden könnten, zieht man sich schon mal eine Kopie sicherheitshalber

und arbeite dann eben auf dieser Kopie. Ja, dann haben wir uns nochmal angeguckt. Das ging dann

schon ein bisschen in die Modellierung mit rein. Das wird dann auch noch Thema des Anfangs von

Kapitel 2 sein. Aber ich habe es jetzt hier schon mal vorgezogen, weil es an der Stelle eben ganz

gut gepasst hat, das Ganze bei den Pipelines damit unterzubringen. Ja, dann haben wir uns also diese

drei Modelle da angeguckt, um die optimale Pipeline-Tiefe auszurechnen. Und diese Modelle

unterschieden sich dann nachher in der Reihenfolge dadurch, inwieweit die Technologie mitberücksichtigt

wurde oder eben nur die Architektur wie das Modell 1. Ja, damit sind Sie jetzt also sozusagen fit und

wissen, wie eine Ausführungseinheit in der modernen Mikroprozessor arbeitet, wie die Pipelines

strukturiert sind und so weiter. Und wir gehen jetzt ein Stück weiter in der Prozessorearchitektur

Hierarchie und gehen ein Stück weit nach außen und schauen uns jetzt an, wie funktioniert denn eigentlich

der Zugriff auf den Speicher und hier insbesondere auf den Cache, also Arbeitsspeicher. Gucken wir eigentlich in der

Rechnerarchitektur nicht mehr an, das habe ich in der Grundlagenrechnerarchitektur gemacht und hier

konzentrieren wir uns auf den Zugriff des Caches und insbesondere wie der Cache im Inneren ausschaut,

weil das ist eine Thematik, die haben wir in der Grundlagenrechnerarchitektur nicht so intensiv

behandelt. Also ganz klar, neben dem Prozessor ist in einem Rechner das Speichersystem ganz

entscheidend für die Leistungsfähigkeit und auch die Kosten, die ich für diesen Rechner aufwenden

muss. Tja, in meiner Idealvorstellung, also vielleicht noch mal kurz vorhin gesagt, das was jetzt kommt,

ist zum Großen, die ersten 5, 6, 7, 8 Folien sind eigentlich noch mal eine Wiederholung von Grah,

aber ich gehe mir davon aus, dass sie die Folien nicht alle mehr im Kopf haben, deswegen ist

vielleicht ganz vernünftig, das noch mal zu machen. Den CE1 habe ich auch gemacht. Das sind fast,

das sind identischen wie ein CE1. So, in meiner Idealvorstellung habe ich einen Cache,

der bietet ausreichend Kapazität. Die Zugriffszeit kann ständig mit der

Verarbeitungsgeschwindigkeit des Prozessors mithalten. Ja, ist eine Idealvorstellung.

Aus wirtschaftlichen und auch aus technischen Gründen ist sowas eben nicht realisierbar.

Die beiden Gründe sind auch streng miteinander korreliert. Die technischen Gründe würde heißen,

ich brüche da eigentlich überall SRAMs und brüche, wie wir dann später sehen werden,

auch ganz viele Vergleiche, die kosten dann auch viel Transistoren und damit erhöhen die die Kosten.

Und also ich kann hier nicht den vernünftigen 20 MB oder 20 GB SRAM-Cache zur Verfügung stellen,

ein bisschen zu groß. Die Abhilfe ist dann eben eine mehrstufige Speicherhierarchie,

das heißt in jeder Stufe, die nahe am Prozessor angeordnet ist, habe ich kleinere,

aber dafür schnellere Speicher und die sind dann letztendlich pro byte auch

teurer als die nächste Stufe. Wenn wir das Ganze fortsetzen würden, landen wir am Ende

bei den Bandspeichern und dort ist der aufzuwertende Euro pro Bit sehr günstig,

auch bei den CD's zum Beispiel, beim SRAM ist er natürlich wesentlich teurer und beim Register

ist er noch teurer. Wichtig ist, dass die Inklusionsbedingungen gilt, das heißt jeder

Speicher einer Hierarchiestufe enthält einen Ausschnitt der nächstgrößeren Hierarchiestufe.

Das heißt in den Registern sind Werte gespeichert, die finden sich dann auch im Cache erster Stufe,

also erster Ebene, im Cache erster Ebene, da finden sich dann Werte, die auch im Cache zweiter Ebene

sind und auf jeden Fall, gut bei den Caches ist vielleicht die Inklusionsbedingungen nicht immer

vollständig angehalten, aber auf jeden Fall müssen sie im Arbeitsspeicher, einen Ausschnitt aus dem

Teil einer Videoserie :

Zugänglich über

Offener Zugang

Dauer

01:35:19 Min

Aufnahmedatum

2013-11-14

Hochgeladen am

2019-04-29 18:39:02

Sprache

de-DE

Die Vorlesung baut auf die in den Grundlagen der Rechnerarchitektur und -organisation vermittelten Inhalte auf und setzt diese mit weiterführenden Themen fort. Es werden zunächst grundlegende fortgeschrittene Techniken bei Pipelineverarbeitung und Cachezugriffen in modernen Prozessoren und Parallelrechnern behandelt. Ferner wird die Architektur von Spezialprozessoren, z.B. DSPs und Embedded Prozessoren behandelt. Es wird aufgezeigt, wie diese Techniken in konkreten Architekturen (Intel Nehalem, GPGPU, Cell BE, TMS320 DSP, Embedded Prozessor ZPU) verwendet werden. Zur Vorlesung werden eine Tafel- und eine Rechnerübung angeboten, durch deren erfolgreiche Beteiligung abgestuft mit der Vorlesung 5 bzw. 7,5 ECTS erworben werden können. In den Tafelübungen werden die in der Vorlesung vermittelten Techniken durch zu lösende Aufgaben vertieft. In der Rechnerübung soll u.a. ein einfacher Vielkern-Prozessor auf Basis des ZPU-Prozessors mit Simulationswerkzeugen aufgebaut werden. Im Einzelnen werden folgende Themen behandelt:
  • Organisationsaspekte von CISC und RISC-Prozessoren

  • Behandlung von Hazards in Pipelines

  • Fortgeschrittene Techniken der dynamischen Sprungvorhersage

  • Fortgeschritten Cachetechniken, Cache-Kohärenz

  • Ausnutzen von Cacheeffekten

  • Architekturen von Digitalen Signalprozessoren

  • Architekturen homogener und heterogener Multikern-Prozessoren (Intel Corei7, Nvidia GPUs, Cell BE)

  • Architektur von Parallelrechnern (Clusterrechner, Superrechner)

  • Effiziente Hardware-nahe Programmierung von Mulitkern-Prozessoren (OpenMP, SSE, CUDA, OpenCL)

  • Leistungsmodellierung und -analyse von Multikern-Prozessoren (Roofline-Modell)

Empfohlene Literatur
  • Patterson/Hennessy: Computer Organization und Design
  • Hennessy/Patterson: Computer Architecture - A Quantitative Approach

  • Stallings: Computer Organization and Architecture

  • Märtin: Rechnerarchitekturen

Einbetten
Wordpress FAU Plugin
iFrame
Teilen